home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 014 / djinn43.arc / DJINN.DOC < prev   
Encoding:
Text File  |  1986-06-04  |  56.4 KB  |  1,717 lines

  1.  
  2.  
  3.  
  4.     Djinn 4.3 +/- 0.3 manual (p.1)
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                              Brief Introduction to
  12.                            Djinn Version 3.6 +/- 0.3
  13.                                    Bard Bloom
  14.                                 January 25, 1986
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.     Djinn 4.3 +/- 0.3 manual (p.2)
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.                                    Chapter 1
  80.  
  81.                                   Introduction
  82.  
  83.  
  84.     The Djinn, or genies,  are  powerful  creatures  created from fire, with
  85.     many wondrous powers.  The more famous (among mortals) Djinn  were those
  86.     imprisoned in bottles  and  lamps,  such  as the lamp of Alladin: mighty
  87.     servants with great and mystic powers.
  88.  
  89.          This particular Djinn is a directory manager, a program that allows
  90.     you to do the sorts of things  that  DOS  does,  but  much  more easily.
  91.     Djinn is to  DOS as a full-screen editor is to EDLIN.  Djinn includes an
  92.     excessive number of features, including:
  93.        -  Copying, Renaming, Deleting Files
  94.  
  95.        -  Moving files from directory to directory
  96.  
  97.        -  Editing Files with your favorite editor
  98.  
  99.        -  Creating/Appending to files
  100.  
  101.        -  Typing files a page at a time (with commands to search,  skip, and
  102.           restart)
  103.  
  104.        -  Scientific Calculator
  105.  
  106.        -  Tree search of directory for files
  107.  
  108.        -  DOS shell
  109.  
  110.        -  DOS-command macros
  111.  
  112.          The first few sections of this manual are essential.  You  can skip
  113.     the rest if you must; but if you use Djinn you should read them.
  114.  
  115.  
  116.     1.1  Requirements
  117.  
  118.  
  119.          Djinn should run on any MS-DOS  machine  with 128K of memory.  More
  120.     memory, a RAMdisk (even a  small one) and a hard disk will all help.  It
  121.     works best on a DEC Rainbow.  Non-Rainbows must have ANSI.SYS installed.
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.     Djinn 4.3 +/- 0.3 manual (p.3)
  137.  
  138.  
  139.     1.2  Starting Djinn the First Time
  140.  
  141.  
  142.          If you do unusual things  with your computer (e.g., change COMSPEC)
  143.     then you should read the sections telling how to do unusual  things with
  144.     Djinn.
  145.  
  146.       1.  If  you  don't have a Rainbow, and  if  you  don't  have  ANSI.SYS
  147.           installed, include the line  "DEVICE=ANSI.SYS"  in  the CONFIG.SYS
  148.           file on your system disk.  Reboot your system.
  149.  
  150.       2.  Leave the system disk in the drive it usually starts in.  (This is
  151.           not  essential; but you can't use some  commands  --  editing  and
  152.           system calls --  if  it  is  not  there.    Any disk with the file
  153.           COMMAND.COM on it will do.)
  154.  
  155.       3.  [optional] Edit the file DJINN.CNF to change options  to  fit your
  156.           computer.  If you have a Rainbow or IBM PC clone, you will want to
  157.           change the COMPUTER= line.
  158.  
  159.       4.  Have the files DJINN.COM, DJINN.000,  and  DJINN.CNF  in  the same
  160.           directory.  Type the DOS  command "SET DJINN=directory".  E.g., if
  161.           the files are in E:\COM\DJINN, type "SET DJINN=E:\COM\DJINN".  You
  162.           may put this line in AUTOEXEC.BAT.
  163.  
  164.       5.  Read the first few sections of the manual, if you haven't already.
  165.           There are summaries of the commands and the input  editor  at  the
  166.           end, too.
  167.  
  168.       6.  Run  Djinn, by typing "DJINN path" to DOS.  If you don't specify a
  169.           path, Djinn uses the current directory.
  170.  
  171.       7.  If you like Djinn and expect to use  it,  contribute  $25  to Bard
  172.           Bloom,  Apt  1A,  26 Inman St., Cambridge, Mass 02139.  If you are
  173.           using this program for business, the contribution is not voluntary
  174.           but  probably is a business expense,  and  probably  the  business
  175.           should pay it.
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.     Djinn 4.3 +/- 0.3 manual (p.4)
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.                                    Chapter 2
  212.  
  213.                                   Using Djinn
  214.  
  215.  
  216.     2.1  The Screen
  217.  
  218.  
  219.          Normally, most of  the  screen  is  devoted to a list of filenames.
  220.     Each  filename  has  the size of the file in kilobytes  ("0k"  =  empty;
  221.     "tiny"  = less than 1/2 k; "dir" = directory; "vol" = volume name.), and
  222.     possibly a couple of extra marks.    A  "+" marks files that are hidden,
  223.     read-only, or system.  You can "tag" files for  use  with  multiple-file
  224.     commands (e.g., "Delete all the  tagged files"); tagged files are marked
  225.     by "*".
  226.  
  227.          One filename is marked in reverse video; the current file.  You can
  228.     do many things (e.g., "delete a single file" by pointing  to  a file and
  229.     pressing a command.)
  230.  
  231.          The top line of the screen gives some useful information:  the name
  232.     and version number of Djinn;  the  directory  that  you  are  in  at the
  233.     moment;  the date and time.  The date and time are approximate; they are
  234.     updated whenever Djinn executes a command.
  235.  
  236.          The bottom few lines of the screen give more information.
  237.  
  238.          If you want, you can have information (precise size, date  and time
  239.     of creation, attributes) about the  current file displayed on the fourth
  240.     to last line.    This  slows  the  program down considerably except on a
  241.     Rainbow, and you can get the information easily when you want it.
  242.  
  243.          The third-to-last line tells what the editor is, and how many files
  244.     there are in the current directory.  Djinn does not include an editor --
  245.     it  would  be  hard to write one that satisfied myself, much less anyone
  246.     else.  The editing  commands  of Djinn invoke your editor (assuming that
  247.     there is space).
  248.  
  249.          The second to last line gives  the  Space Tagged (the total size of
  250.     the  tagged  files),  the Total Size of files in this directory, and the
  251.     Space Left on this disk.
  252.  
  253.          The last line is normally used for messages and prompts.
  254.  
  255.          Some messages, mostly  warnings,  mostly blinking, go away when you
  256.     press a key.  The message "[Smite thou  a  key]"  is  the most common of
  257.     these.  You can change drives or directories at  this  prompt;  pressing
  258.     the  "G"  and  "H"  keys  acts as the "Go To Path" and "H:Go  To  Drive"
  259.     commands.
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.     Djinn 4.3 +/- 0.3 manual (p.5)
  269.  
  270.  
  271.     2.2  Aborting Things
  272.  
  273.  
  274.          The keys <ESCAPE> and Control-Z (^Z) cancel a command.
  275.  
  276.          You can leave Djinn by typing "X", or ½Exit╗ on a Rainbow.
  277.  
  278.  
  279.     2.3  The Input Editor
  280.  
  281.  
  282.          Whenever Djinn asks for more than  one  letter, it gives you a sort
  283.     of one-line word processor to type  with.    ^A is Control-A.  ½Find╗ is
  284.     the Find key on the Rainbow keyboard; if ½╗ don't look like double angle
  285.     brackets to you, you probably don't have a Rainbow. IBM  compatible keys
  286.     are given in [brackets]. The following editing commands work:
  287.  
  288.  
  289.          Forward Character                  ^F or Rainbow/IBM cursor keys
  290.          Backward Character                 ^B or Rainbow/IBM cursor keys
  291.          Forward Word                       ^Y or ½Next Screen╗ or [control-
  292.                                             right]
  293.          Backward Word                         ^W   or  ½Prev   Screen╗   or
  294.                                             [control-left]
  295.          End of Line                         ^E or ½Remove╗ or [end]
  296.          Start of Line                       ^A or ½Insert Here╗ or [home]
  297.  
  298.          Delete Next Char.                   ^D or ½Select╗ or [Del]
  299.          Delete Last Char.                   <DEL> or <X]
  300.          Delete Next Word                    ^V or ½Addtnl Options╗
  301.          Delete Last Word                    ^H or ½F12╗
  302.          Delete to End of Line               ^K or ½Find╗
  303.          Delete Entire Line                  ^U or ½Exit╗
  304.  
  305.          Transpose last two character        ^I or <TAB> or ½Tab╗
  306.          Insert Control Character             ^Q  (then  type  the   control
  307.                                             character:^A)
  308.          Insert Name of Current File         ^R
  309.          Insert Name of Current Path         ^G
  310.          Insert Last Item Deleted            ^J
  311.  
  312.          Quit                                ^Z or ½Cancel╗
  313.  
  314.          Djinn remembers the last fifty or so lines that you typed.  You can
  315.     recall  an old line by pressing the Up-arrow  key  (or  ^P)  repeatedly.
  316.     (Naturally, ^N or Down-arrow gives you more recent lines.)  You can edit
  317.     the line.  Pressing <RETURN> will send it to Djinn.
  318.  
  319.          The  ^R  and  ^G  (insert  filename  and  path) are  merely  typing
  320.     conveniences.
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.     Djinn 4.3 +/- 0.3 manual (p.6)
  335.  
  336.  
  337.     2.4  The Most Useful Commands
  338.  
  339.  
  340.          Djinn has a lot of commands, some of which  are  very  specialized.
  341.     Even the commands given here have subtleties that most people won't want
  342.     to  know  about.    All  things  are  revealed in the section on  "Hairy
  343.     Details".
  344.  
  345.          Djinn accepts uppercase and lowercase letters.
  346.  
  347.          Many  commands  ask  you a question followed  by  "[y/n/v]"  (e.g.,
  348.     "Delete the  files?  [y/n/v]").    "Y" and "n" mean "yes" and "no".  "V"
  349.     means  "verify",  which  prompts  you  individually for each file.   The
  350.     prompt for each file asks you "[(y)/n/All/Quit]".  "y"  (or  most  other
  351.     keys) mean "yes" and "n" means "no",  as  usual.    "A"  means  "all the
  352.     rest", and "Q" means "none of the rest".
  353.  
  354.          In general, when a  command  asks you for something, you can cancel
  355.     the command by pressing ^Z or <ESCAPE>.
  356.  
  357.  
  358.     2.4.1  Moving the Cursor
  359.  
  360.  
  361.     Arrow keys (on IBM and Rainbow) move  the  cursor.    The  edges  of the
  362.             screen wrap around; try them.
  363.  
  364.     I, J, K, and <Space> form a keypad  for  the  right  hand, and work just
  365.             like the arrow keys.
  366.  
  367.     ^I and ^M move the cursor up and  down,  keeping  it  in the same column
  368.             when they wrap around.
  369.  
  370.     F finds a file.  You type the name of the file, one character at a time;
  371.             with  patterns  as  you wish.  After each character, Djinn moves
  372.             the  cursor  to  the next file that matches the current pattern.
  373.             The usual delete keys delete the last letter and go back  to the
  374.             last position.  The space bar finds the  current  pattern again.
  375.             Most other keys, including <RETURN>  and ";", stop Finding.  The
  376.             "\" and "/" characters  are  special -- if either appears in the
  377.             file name, F will look for any directory rather than a file.
  378.  
  379.     ^F: find the next file matching the last F pattern.  If you haven't used
  380.             an F, this will look for the next directory.
  381.  
  382.     ",": Go to first file.  Moves the cursor to  the  upper left-hand corner
  383.             of the screen.
  384.  
  385.  
  386.  
  387.     2.4.2  Changing Directories
  388.  
  389.  
  390.     G:  Go  to  path.  Type a path name (e.g., "A:\GRYPHON\NEST"), and Djinn
  391.             will go to that path.
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.     Djinn 4.3 +/- 0.3 manual (p.7)
  401.  
  402.  
  403.     H: Go To Drive.  Type a single letter for the name of  the  drive  to go
  404.             to.
  405.  
  406.     L and ½Find╗: Descend Directory.  If the cursor is on a directory rather
  407.             than a file  ("dir"  rather  than  a size), Djinn will move into
  408.             that subdirectory.
  409.  
  410.     ".": Ascend Directory.  This will go up one level in the directory tree.
  411.  
  412.     "[":  Remember  Directory.   This memorizes  the  name  of  the  current
  413.             directory, for the "]" command to deal with.
  414.  
  415.     "]": Go To Remembered  Directory.  Pressing  this  goes to the directory
  416.             stored  with  the  "["  command.    It  also saves  the  current
  417.             directory, so that you can switch back and forth between them by
  418.             repeated "]" commands.
  419.  
  420.     ^L, ";":  Look  at  new  disk.    When you change the disk that Djinn is
  421.             looking  at, this command will tell Djinn to  look  at  the  new
  422.             disk.  If you don't, *probably* nothing bad will happen.
  423.  
  424.     W:  Whereis  File.    This  looks  at  the  current  directory  and  all
  425.             directories  under  it for a file pattern.    It  moves  to  the
  426.             directory where it finds it.
  427.  
  428.     ^W: Whereis File from anywhere.  This looks  at  and  under  a directory
  429.             that you specify for a file pattern, like W.
  430.  
  431.  
  432.  
  433.  
  434.     2.4.3  File Management
  435.  
  436.  
  437.  
  438.     C:  Copy  File.  This copies the current file to somewhere.    You  tell
  439.             Djinn    where.     You     can     give     a     full     name
  440.             ("B:FNIRGAL\EDITOR\FLIB.COM"),  or  use "*.*" much  as  in  DOS.
  441.             (copying  "FLIB.COM" to "B:*.*" or simply  "B:*"  copies  it  to
  442.             drive B:; to "B:*.OLD" names the copy on  B:  "FLIB.OLD".) NOTE:
  443.             Djinn  normally prompts you if you are  about  to  overwrite  an
  444.             existing file.  "Y" and "n" are "yes" and  "no".  Other  options
  445.             are advanced.
  446.  
  447.     ^C:  Copy the tagged files.  Generally like C.  "All" on the prompt  for
  448.             overwriting files will tell Djinn  to overwrite all the files in
  449.             the current batch.
  450.  
  451.     D and ½Remove╗:  Delete  the  current  file  or directory.  You have one
  452.             chance  to  save  them.    If  you  try  to  delete a  non-empty
  453.             directory, Djinn will forbid you.
  454.  
  455.     ^D: Delete the  tagged files.  You have one or two chances to save them,
  456.             one  at the [y/n/v] and possibly another at  each  file  if  you
  457.             pressed "v".
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.     Djinn 4.3 +/- 0.3 manual (p.8)
  467.  
  468.  
  469.     R: Rename/move the current file. If  you  give  it a path on the current
  470.             disk as well  as a name, it will move it to that path.  Renaming
  471.             "\FOO.PAS" to "\SOURCES\FOO.PAS" will move the file.
  472.  
  473.     ^R: Rename/move the tagged files.
  474.  
  475.     V and ½Next Screen╗: View Current File.  This prints the current file 20
  476.             lines  at  a  time.  This "cooks" the file, transforming control
  477.             characters to a visible form so that they don't  screw  up  your
  478.             screen.  "P" is  similar,  but doesn't cook the file. After each
  479.             screen, it asks what you want  to  do  on a small menu. The most
  480.             useful choices are:
  481.              <SPACE> ---------- Next 20 lines
  482.              Q ---------------- Quit.
  483.              X ---------------- Quit Immediately.
  484.              ? ---------------- Help.  A bit cursory.
  485.              S ---------------- Skip some lines. (asks for how many)
  486.              R ---------------- Restart the file from the beginning.
  487.              V ---------------- Go backwards (roughly) a page.
  488.  
  489.  
  490.     ^V: View Any File.  Like "V", but you give the filename.
  491.  
  492.     Y: Copy File  To Drive.  The most common case of copying is copying from
  493.             one drive to another.  "Y" does this, asking for the name of the
  494.             drive.
  495.  
  496.     ^Y:  Copy Tagged Files to Drive.  Like ^C, except that it only asks  for
  497.             the name of a drive.
  498.  
  499.     "\": Make Directory.
  500.  
  501.  
  502.  
  503.     2.4.4  Tagging Files
  504.  
  505.  
  506.     T and ½Select╗: Tag the current file.
  507.  
  508.     ^T: Tag all files that match a  pattern.    Press  <RETURN>  to  tag all
  509.             files.  This does not tag directories.
  510.  
  511.     U and ½Prev Screen╗: Untag file
  512.  
  513.     ^U: Untag all files that match a pattern.
  514.  
  515.     ^H: Retag Files.  This puts tags  on  all  the  files  that  were tagged
  516.             before the last operation.
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.     Djinn 4.3 +/- 0.3 manual (p.9)
  533.  
  534.  
  535.  
  536.     2.4.5  File Creation and Modification
  537.  
  538.  
  539.  
  540.     E or ½Insert Here╗: Edit current  file.    This calls the editor (as you
  541.             have defined it) on the current file.  It does require space for
  542.             the editor as well as for Djinn; an editor that normally runs on
  543.             and uses all of a 128K machine won't work, since Djinn takes too
  544.             much of its memory.    EDLIN, the rather lousy editor that comes
  545.             with DOS, will usually  work  if  nothing  else will; but you'll
  546.             probably want to leave Djinn for long edits.  Get more memory --
  547.             it's cheap and makes a big difference.  The editor is defined in
  548.             the DJINN.CNF file.
  549.  
  550.     ^E: Edit any file.  Like E, except that it asks for the name of the file
  551.             to edit.
  552.  
  553.     0 through 9: These keys act like the E command, calling a program or DOS
  554.             command  on  a  file.  They, too, are defined in DJINN.CNF.  See
  555.             the section on macros for more details.
  556.  
  557.     M: Make new file.  This is the same as  ^E  --  it  lets  you  specify a
  558.             filename and then calls the editor.
  559.  
  560.  
  561.  
  562.  
  563.     2.4.6  Running Programs
  564.  
  565.  
  566.  
  567.     B or ½Do╗: Run current file.
  568.  
  569.     ' (single  quote):  Execute  a  DOS command on the current file.  If you
  570.             wanted to TYPE  the  current  file,  put the cursor on it, press
  571.             "'", and type TYPE.
  572.  
  573.     " (double quote): Execute a DOS command on each tagged  file.   The mass
  574.             version  of ' (single quote).  This  is  useful  for  simulating
  575.             commands  that  Djinn  doesn't  have.   For example, to print  a
  576.             collection of files with the DOS PRINT command, tag them and use
  577.             ".
  578.  
  579.     S: System command.  You  type  a  line,  and  DOS executes it.  Most DOS
  580.             commands work here.  SET does not.
  581.  
  582.     ^S:  File  as  System Command.  Runs the current file, prompting you for
  583.             arguments.
  584.  
  585.     ^G: Inferior DOS shell.  This puts you into a new DOS.  Type EXIT to get
  586.             back to Djinn.
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.     Djinn 4.3 +/- 0.3 manual (p.10)
  599.  
  600.  
  601.  
  602.     2.4.7  Misc
  603.  
  604.  
  605.  
  606.     N: Calculator.  Call the  calculator  once.    See  the  section  on the
  607.             calculator to tell how to use it.
  608.  
  609.     ^N: Calculate Lots.  Repeatedly call the calculator, until you exit with
  610.             ^Z or <ESCAPE> or a blank line.
  611.  
  612.     X and ½Exit╗: Exit Djinn.
  613.  
  614.     ^X: Reread the DJINN.CNF file.  If you have edited it,  Djinn's internal
  615.             switches are changed.
  616.  
  617.     "-": Redraw Screen.  (This updates the time, too.)
  618.  
  619.     "=":  Information about current file.  Gives size  in  bytes;  date  and
  620.             time; and attributes.
  621.  
  622.     "~":  Set File Attributes.  You can make  a  file  Read-Only,  Archived,
  623.             Hidden,  or  System.  You must give  the  initials  of  all  the
  624.             attributes you want the file to have.
  625.  
  626.     "_": Mass Set File Attributes.   This  lets you change the attributes of
  627.             lots of files at once.
  628.  
  629.     "{" and "}": See the section on "Handling Huge Directories".
  630.  
  631.     "?" and ½Help╗: help.
  632.  
  633.     "/": Restrict Files.  This causes Djinn to look only at files that match
  634.             a pattern.  You can go back to looking at all files by giving an
  635.             empty pattern.
  636.  
  637.     "&": Status Report.  Includes a plea for money.
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.     Djinn 4.3 +/- 0.3 manual (p.11)
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.                                    Chapter 3
  674.  
  675.                                  Unusual Cases
  676.  
  677.  
  678.     3.1  Handling Huge Directories
  679.  
  680.  
  681.          When a directory has more than about 80 files, the listing of files
  682.     will not fit on one screen.   Djinn  warns  you  of  this.  The "Files:"
  683.     number becomes three numbers, and blinks.  It starts off  something like
  684.     "Files: [0]132[52] More Files...", flashing  (for a directory with 132 =
  685.     0 + 80 + 52 files).
  686.  
  687.          Djinn  only looks at 80 files at a time.  The files are consecutive
  688.     in the directory (e.g., the first 80 files that you would see with a DIR
  689.     command in DOS).  You can change the  set  of  files  you are looking at
  690.     with the "{" and "}" commands.  "}" moves the window of 80 files forward
  691.     by 40 files;  "{"  moves  it  backward  40  files.   The first number in
  692.     brackets is the number of files before the  window;  the  second  is the
  693.     number in the directory, and the third is the number after the window.
  694.  
  695.          These  commands   are  admittedly  clumsy.  Djinn  has  no  way  of
  696.     manipulating files off the screen.   If  you use huge directories a lot,
  697.     write to me and I may do something about it.  (Suggestions are welcome.)
  698.     If you also send money, I am considerably more likely to do something.
  699.  
  700.  
  701.     3.2  The Vaguely Scientific Calculator
  702.  
  703.  
  704.          The Vaguely Scientific Calculator  is  a  desk calculator of modest
  705.     quality.  You  could  probably  buy  a dimestore calculator that did the
  706.                                   1
  707.     same  things  for  about  $35.   You  give  it expressions  in  standard
  708.     algebraic notation, and it  gives  you answers.  It does arithmetic with
  709.     about  ten significant figures, with numbers  between  1E-38  and  1E38.
  710.                                                                           38
  711.     (This is a computer's  exponential  notation: it is hard to write 1x10
  712.     on a single line.)
  713.  
  714.          The basic operations:  +,  -, * (multiplication), and / (division),
  715.     work as you expect them to.  "4+3*7" computes to  25.   Parentheses work
  716.  
  717.     -----------
  718.  
  719.     1. As Djinn costs only $25 even if you pay for it, you are getting quite
  720.        a bargain.   All you have to do is carry your computer around in your
  721.        side pocket, which is probably a good idea anyways.
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.     Djinn 4.3 +/- 0.3 manual (p.12)
  731.  
  732.  
  733.     normally, and you should use them whenever there are two reasonable ways
  734.     for the computer  to  read  your  expression.  "4/5*6" might mean either
  735.     "(4/5)*6" or "4/(5*6)" -- most programmers are used to the  second, most
  736.     nonprogrammers would expect the first.  Use parentheses.
  737.  
  738.          There are 26 variables, "a" through  "z".   You can put things into
  739.     them with the "="-sign:
  740.  
  741.          a = 5-21/5
  742.  
  743.     and take them out by mentioning the variable name:
  744.  
  745.          b = 3-a/(a+1) - 4*a/3
  746.  
  747.     The result of the last calculation is stored in "@",  which  you may use
  748.     like a variable:
  749.  
  750.          @+3
  751.  
  752.     adds three to the last answer.  The variables keep their  values between
  753.     calculations, as long as you stay inside Djinn.
  754.  
  755.          The Input Editor works in the Vaguely Scientific Calculator.
  756.  
  757.          The  calculator  has  some  scientific  functions:  sin,  cos, tan,
  758.     arcsin, arccos, arctan,  exp,  ln,  log,  lg,  sqrt, fact, abs.  "Ln" is
  759.     natural logarithm, "log" is  logarithm  base  10,  and "lg" is logarithm
  760.     base  2.    "Exp" is anti-natural-logarithm, "e" raised to a power.  All
  761.     these     functions     take     their    argument    in    parentheses:
  762.     sin(exp(arcsin(0.2)).  "^" is exponentiation: 2^4=16.
  763.  
  764.          The calculator has some integer functions as well.    These convert
  765.     their arguments into 16-bit signed integers, if this is possible.   AND,
  766.     OR, XOR, and NOT work bitwise.  MOD and DIV work as in Pascal.
  767.  
  768.          You  may  have  string  together  several  calculations  by putting
  769.     semicolons ";" between them.
  770.  
  771.          WARNING: The calculator accepts some mis-typed expressions, like "3
  772.     4 +".  Some of these give reasonable answers (that one gives 7).  Others
  773.     give completely silly answers.
  774.  
  775.          WARNING: Some math errors will crash Djinn.  Other math errors will
  776.     cause  the  Vaguely  Scientific  Calculator  to  insult  you,  departing
  777.                                         2
  778.     considerably from Djinn's usual mild  manners.  You can  turn  this  off
  779.     with INSULTS=NO in DJINN.CNF.
  780.  
  781.     -----------
  782.  
  783.     2. Read, "obsequious"
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.     Djinn 4.3 +/- 0.3 manual (p.13)
  797.  
  798.  
  799.     3.3  Hints
  800.  
  801.  
  802.          DJINN.000 is a file  of  overlays;  a  number of common procedures,
  803.     including  View  File  and Append, use it. If you have  a  RAMdisk,  put
  804.     DJINN.CNF and DJINN.000 on it and set the DOS variable DJINN to the name
  805.     of the RAMdisk.
  806.  
  807.          If  you also have a copy of COMMAND.COM on the RAMdisk, you can set
  808.     the system variable COMSPEC (e.g., to E:\COMMAND.COM -- the full name of
  809.     the file).  This  will  speed up system commands, execution of programs,
  810.     and editing.  It also makes DOSCOPY=YES faster than DOSCOPY=NO.
  811.  
  812.  
  813.     3.4  Doing Unusual Things with Djinn
  814.  
  815.  
  816.          Djinn uses patterns that look generally like DOS patterns, but they
  817.     are somewhat better.   The  wildcard character "*" will match any string
  818.     of characters.  So,  "A*X"  matches "AX" and "ANTHRAX" and "A()()X", but
  819.     does not match "AY".   If you type "A*X" as a DOS pattern, it will match
  820.     "AY".
  821.  
  822.          Djinn calls programs  through  the command processor, as defined by
  823.     the COMSPEC system  variable.    Normally,  it  will  be  something like
  824.     "A:\COMMAND.COM", so Djinn  will  reload COMMAND.COM from drive A: every
  825.     time you execute  another program.  This is slow and noisy.  If you have
  826.     a  Ramdisk,  you can copy COMMAND.COM onto it and use that  copy.    The
  827.     following lines in your AUTOEXEC.BAT file will do it automatically:
  828.  
  829.           COPY A:COMMAND.COM E:\COMMAND.COM  (Use the name of the
  830.          Ramdisk instead of E)
  831.           SET COMSPEC=E:\COMMAND.COM
  832.  
  833.          If  you  are  using a different shell, I make no promises about how
  834.     Djinn will behave.
  835.  
  836.  
  837.     3.5  Things you can do with DJINN.CNF
  838.  
  839.  
  840.          The file DJINN.CNF gives you a good deal of control over  how Djinn
  841.     behaves.  Some of the commands are simple enough; others are  mainly for
  842.     hackers.  The commands in DJINN.CNF must be given one to a line, with no
  843.     extraneous character  except spaces.  Lines starting with semicolons are
  844.     comment lines.  If Djinn can't understand a line, it ignores it.
  845.  
  846.     COMPUTER = IBM or RAINBOW or RB-TECHROM or MSDOS.  This tells Djinn what
  847.             kind of computer  you  have.    At  the  moment,  the difference
  848.             between  IBM and MSDOS is minimal, and IBM  will  work  for  IBM
  849.             compatibles.  RB-TECHROM  means,  Rainbow  with   the  Technical
  850.             Character Set ROM  installed,  and  I  hope  it  works  'cause I
  851.             haven't been able to check it.
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.     Djinn 4.3 +/- 0.3 manual (p.14)
  863.  
  864.  
  865.     EDITOR  = xxxx.  When Djinn calls the editor on a file named "ffff.ext",
  866.             it effectively executes  the  DOS command "xxxx ffff.ext".  This
  867.             is where you define "xxxx".  For example, my editor is FinalWord
  868.             on drive E:; I have the line EDITOR = E:FW.
  869.  
  870.     0 = xxxx, 1 = yyyy, ..., 9 = zzzz.  The keys 0 through 9 act  like the E
  871.             key, running DOS programs on a given file.
  872.  
  873.     AUTOINFO  = YES or NO.  YES tells Djinn to display information about the
  874.             file under the cursor.  NO requires you to get  this information
  875.             by hand, with the "=" command,  when  you  want it.  NO lets the
  876.             cursor move much faster.
  877.  
  878.     UNSAFECOPY  =  YES  or  NO.    Normally Djinn checks to see if  you  are
  879.             overwriting a  file with a copy (copying ONE.FIL to ANOTHER.FIL,
  880.             and  ANOTHER.FIL  is  already a file).  You can turn this off by
  881.             setting UNSAFECOPY = YES.
  882.  
  883.     DOS-COPY = YES or NO.  With NO,  Djinn  uses  its  own procedure to copy
  884.             files; with YES, it calls DOS.  The  main  advantage  of  DOS is
  885.             that it allows the /V (verify) flag.
  886.  
  887.     INSULTS =  YES  or  NO.   If you do something illegal in the calculator,
  888.             like dividing by zero, the calculator will insult you ("Ha!   An
  889.             error!    I  bet you have emotions as well, Human!").    If  you
  890.             dislike this childish display of humor, you can turn it off with
  891.             INSULTS=NO.
  892.  
  893.     LONG-ATTRIBUTES = YES or NO.  When Djinn  tells  you  what  attributes a
  894.             file has, it can use words  ("hidden",  "archived", "read-only")
  895.             or abbreviations ("hid", "arc", "R/O").    With  the  words, the
  896.             list of attributes may run off the edge of the screen.
  897.  
  898.     FINDPAUSE = YES or NO.  Normally View File and relatives pause every 100
  899.             lines  when  searching for a string, and  ask  if  you  want  to
  900.             continue.  NO  lets  you  turn  this off; Djinn still prints the
  901.             line  numbers  every  100 lines so  that  you  know  it's  doing
  902.             something.
  903.  
  904.     FINDMESSAGE = number.  Changes the "100" in the previous command.
  905.  
  906.     TRY-LAE  =  YES  or  NO.    Djinn  normally  runs  programs  by  calling
  907.             COMMAND.COM.  This requires reading COMMAND.COM, and takes extra
  908.             memory.  With TRY-LAE, Djinn  will try loading and executing the
  909.             program immediately.   I  have had problems with TRY-LAE=YES; my
  910.             editor can't find some of its files, I know not why.  If TRY-LAE
  911.             works for you, use it.  I don't.
  912.  
  913.     DRIVES = dddd.  Djinn assumes that you have drives  A:, B:, ..., Z:; for
  914.             example,  it  allows  you to try to copy a file to a nonexistant
  915.             drive.  In general this is not very helpful.  You can tell Djinn
  916.             precisely  which  drives  you  have;  for  example,  I have  two
  917.             floppies (A: and B:) and one RAMdisk (E:), and use DRIVES=ABE.
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.     Djinn 4.3 +/- 0.3 manual (p.15)
  929.  
  930.  
  931.     3.6  Bugs and Unpleasant Features
  932.  
  933.  
  934.          You MUST tell Djinn where the files DJINN.000 and DJINN.CNF are, by
  935.     setting the system variable DJINN, unless you start in that directory.
  936.  
  937.          There are probably places where you can get Turbo errors,  though I
  938.     have eliminated all that I have found.
  939.  
  940.  
  941.     3.7  Credits
  942.  
  943.  
  944.          Borland International wrote Turbo Pascal.
  945.  
  946.          Glen Marshall  wrote MSDOS.PAS, a collection of system routines for
  947.     Turbo Pascal, which I used for all the hard stuff.
  948.  
  949.          Stew  Stryker  wrote  FASTVID.PAS,  a  collection  of   fast  video
  950.     routines, which I used a lot also.
  951.  
  952.          Someone anonymous, somewhere  on  the  network,  wrote  a Quicksort
  953.     routine  which I used.  Since I can't find this person's name, I'll give
  954.     credit to Hoare who invented the algorithm originally.
  955.  
  956.          Much  of  the  inspiration  for  writing this came from the  VSWEEP
  957.     program written by Gregory L. Meckstroth.  (Some of the  inspiration was
  958.     from the fact  that I couldn't find a copy of VSWEEP with a working COPY
  959.     command.)  VSWEEP in turn was inspired by SWEEP (I suppose), which is to
  960.     VSWEEP as a line editor is to a screen editor.
  961.  
  962.          A  number of people, especially William  Macneill  and  a  peculiar
  963.     entity who calls himself  Mark  Bornstein, did a lot of beta-testing and
  964.     general encouragement.
  965.  
  966.  
  967.     3.8  Conditions
  968.  
  969.  
  970.          Djinn is to be distributed  with all included files (in particular,
  971.                                  3
  972.     this document),  without  fee ,  to  all  who  want it.  It is not to be
  973.     modified without Bard Bloom's consent.  The Turbo Pascal  code  will  be
  974.     distributed separately, after Bard Bloom cleans it up.
  975.  
  976.          Djinn is not intended as a weapon, either  directly  or indirectly.
  977.     I prefer that it not be used by  the  armed  services  of any country or
  978.     other  terrorist  organizations.     This   specifically   includes  the
  979.     Department of Defense and defense contractors, as well as  a  number  of
  980.     groups  (e.g.,  the  PLO and the Contras) who are rather unlikely to use
  981.     it.  It should not be used by any group devoted  even  partially  to the
  982.  
  983.     -----------
  984.  
  985.     3. Except for media and copying costs.
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.     Djinn 4.3 +/- 0.3 manual (p.16)
  995.  
  996.  
  997.     violent overthrow of any country, or the repression of  any  segment  of
  998.     humanity.
  999.  
  1000.          Djinn  is  copy-protected,  in the sense that  having  many  copies
  1001.     protects it.
  1002.  
  1003.          Entities  violating these terms are subject  to  various  forms  of
  1004.     legal and divine  retribution.    They  may be transformed into cubes of
  1005.     lime  jello and juniper berries.  They may be compelled to speak only in
  1006.     COBOL, or program computers only in Tagalog.  They may be flung into the
  1007.     vasty sea  by  the  ghosts  of the great authors of the 19th century, or
  1008.     into the Amazon by hordes of  raving  marsupials.  Ravens may perch upon
  1009.     their computers and utter dark prophecies.  Lemurs may perch  upon their
  1010.     plumbing and chant love poetry in  Latin.   Wombats may perch upon their
  1011.     foreheads and whisper  the  secrets  of  New  Jersey.  (All of these are
  1012.     extremely unlikely.  Maybe their consciences will bother them, though.)
  1013.  
  1014.  
  1015.     3.9  Non-Warranty
  1016.  
  1017.  
  1018.          I use the [latest  version]  of the program myself, extensively.  I
  1019.     know of no way in which  it  could  damage something if you are careful,
  1020.     except as noted in BUGS above.
  1021.  
  1022.          Of course, if you append a shopping list to the  code  of your word
  1023.     processor, the word processor probably won't work very well after that.
  1024.  
  1025.          My  liability, in the event that Djinn  does  something  nasty,  is
  1026.     limited to an expression of sympathy and a promise to  try  to fix Djinn
  1027.     sometime if I feel like it.  Note that, if you  have  contributed,  I am
  1028.     more likely to fix it and send you a fixed copy.
  1029.  
  1030.  
  1031.     3.10  Plea for Money
  1032.  
  1033.  
  1034.          I am a poor starving graduate student.   If  you  like  my program,
  1035.     please  send  me  $25 , or whatever  you wish to contribute.  If you use
  1036.     this program for  business,  this  contribution  is  not  optional.   Of
  1037.     course, the business should pay for it.
  1038.  
  1039.           Bard Bloom
  1040.           26 Inman St., Apt 1A
  1041.           Cambridge, Mass 02139
  1042.           ARPAnet: BARD  XX.LCS.MIT.EDU
  1043.           FIDOnet: Bard Bloom at DEC-line, Fido 202, region 101.  Send
  1044.          public messages,
  1045.          since my name is easy to misread.
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.     Djinn 4.3 +/- 0.3 manual (p.17)
  1061.  
  1062.  
  1063.     3.11  About the Djinn
  1064.  
  1065.  
  1066.             According   to   Moslem   tradition,  Allah  created  three
  1067.          different species of intelligent beings: Angels, who  are made
  1068.          of light, Jinn ... who are made of fire, and Men, who are made
  1069.          of earth.   The  Jinn  were  created of a black smokeless fire
  1070.          some  thousands  of  years before Adam, and  consist  of  five
  1071.          orders.  Among these  orders  we find good Jinn and evil, male
  1072.          Jinn and female.    The cosmographer al-Qaswini says that "The
  1073.          Jinn are aerial animals, with  transparent  bodies,  which can
  1074.          assume various forms."  At first they may  show  themselves as
  1075.          clouds or as  huge  undefined pillars; when their form becomes
  1076.          condensed, they become visible, perhaps  in the bulk of a man,
  1077.          a jackal, a wolf, a lion,  a  scorpion,  or a snake.  Some are
  1078.          true believers; others, heretics  or  atheists.    The English
  1079.          Orientalist Edward William Lane writes that when Jinn take the
  1080.          shape  of human beings they are  sometimes  of  an  enormously
  1081.          gigantic size and "If good, they  are  generally resplendently
  1082.          handsome; if evil, horribly hideous."  They are  also  said to
  1083.          become  invisible  at  pleasure  "by  a  rapid   extension  or
  1084.          rarefaction of the particles which  compose  them,"  when they
  1085.          may disappear into the air or earth or through a solid wall.
  1086.  
  1087.             The  Jinn  often  attain  the  lower  heavens,  where  they
  1088.          overhear the conversations of angels about future events. This
  1089.          enables  them  to  help  wizards  and  soothsayers.    Certain
  1090.          scholars attribute to them  the  building  of the Pyramids or,
  1091.          under the orders of Solomon, the Great Temple of Jerusalem.
  1092.  
  1093.             The usual dwelling places  of  the  Jinn are ruined houses,
  1094.          water cisterns, rivers, wells, crossroads, and  markets.   The
  1095.          Egyptians say that the pillarlike whirlwinds of sand raised in
  1096.          the desert are caused by the  flight  of an evil Jinnee.  They
  1097.          also  say  that  shooting  stars  are arrows hurled  by  Allah
  1098.          against  evil  Jinn.    Among  the acts perpetrated  by  these
  1099.          evildoers against human  beings the following are traditional:
  1100.          the throwing of bricks and  stones at passersby from roofs and
  1101.          windows, the abduction of beautiful women, the  persecution of
  1102.          anyone  who tries to live in an  uninhabited  house,  and  the
  1103.          pilfering of provisions.  Invoking the name of  Allah  the All
  1104.          Merciful, the Compassionate, is usually enough  to  secure one
  1105.          against such depredations, however.
  1106.  
  1107.             ...
  1108.  
  1109.             In 1828, young  Victor  Hugo  wrote  a  tumultuous fifteen-
  1110.          stanza poem ½Les Djinns╗  about  a  gathering of these beings.
  1111.          With each stanza, as the Jinn cluster together, the lines grow
  1112.          longer and longer, until the  eighth,  when  they  reach their
  1113.          fullness.  From this point on they dwindle to the close of the
  1114.          poem, when the Jinn vanish.
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.     Djinn 4.3 +/- 0.3 manual (p.18)
  1127.  
  1128.  
  1129.            Burton and Noah Webster link the word "Jinn"  and  the Latin
  1130.          "genius," which is  from  the verb "beget".  Skeat contradicts
  1131.          this.
  1132.  
  1133.  
  1134.                                         -- The Book of Imaginary Beings
  1135.                                            Jorge Luis Borges with
  1136.                                         Margarita Guerrero
  1137.                                            Trans. Norman Thomas di
  1138.                                         Giovanni,
  1139.                                            Discus Books, 1967, 1969.
  1140.  
  1141.  
  1142.          My  use of "Djinn" as a singular  disagrees  with  the  proper
  1143.          Arabic.  I am, however, speaking English.
  1144.  
  1145.  
  1146.     3.12  Macros
  1147.  
  1148.  
  1149.          Djinn allows  you  to  define  ten  macros  (on keys 0-9) of sorts.
  1150.     Actually, eleven macros the E key  (Editor)  is  a macro as well.  These
  1151.     normally run a DOS program on the current file, after the style of the E
  1152.     key; but you can do a number of other things as well.
  1153.  
  1154.          The normal way of defining a macro is to include a line
  1155.  
  1156.          0 = TYPE
  1157.  
  1158.     in  DJINN.CNF.  This makes the 0-key type the current file using the DOS
  1159.     command.  Macros defined  thus  are present every time you invoke Djinn.
  1160.     You can define macros for one run of Djinn by the ^Z command.
  1161.  
  1162.          [This  paragraph  is  for people who want to do complicated things]
  1163.     Normally,  these commands put the filename at the end of the string.  If
  1164.     your  editor is FinalWord, the command string would  be  "FW",  and  you
  1165.     would have a line "EDITOR = FW" in DJINN.CNF.  This is usually adequate.
  1166.     However, you might want to have a command  that  has  options  after the
  1167.     filename, such as  CHKDSK filespec /F, on  the  3 key.  Djinn allows you
  1168.     to build such  commands,  using  some  backquote-letter  combinations to
  1169.     stand  for  filenames.    For   example,  "`f"  is  the  filename  (with
  1170.     extension); you could have the line
  1171.  
  1172.          3 = CHKDSK `f /F
  1173.  
  1174.     in DJINN.CNF.  If any backquote sequences (except for "``" which inserts
  1175.     a backquote) appear in  the  command, Djinn does NOT append the filename
  1176.     automatically.  You  can  append  it  yourself  with  another backquote-
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.     Djinn 4.3 +/- 0.3 manual (p.19)
  1193.  
  1194.  
  1195.     command,  of  course.  There  is  one backquote command (`x) which  does
  1196.                                              4
  1197.     nothing but inhibit adding the filename.
  1198.       `f --- filename.ext      (File)
  1199.       `a --- path\filename.ext (All)
  1200.       `p --- path              (Path)
  1201.       `n --- filename          (Name)
  1202.       `e --- ext               (Extension)
  1203.       `` --- `                 (to insert a backquote)
  1204.       `x ---  (this does nothing, but prevents Djinn from appending the
  1205.     filename)
  1206.  
  1207.  
  1208.     3.13  Hairy Details of Commands
  1209.  
  1210.  
  1211.     ^B:
  1212.             Make a .BAT file involving the tagged files.    This  is  a very
  1213.             strong and versatile  and  somewhat awkward way to simulate mass
  1214.                                              5
  1215.             commands that Djinn doesn't have.  For each tagged file
  1216.  
  1217.                  FILENAME.EXT,
  1218.  
  1219.             it creates a line:
  1220.  
  1221.                  initial-text FILENAME.EXT final-text
  1222.  
  1223.                It prompts for  the  name  of  the file, the initial, and the
  1224.             final text.  Either (or both) of the texts may  be  blank.  (The
  1225.             command does put blanks between  the texts and the filename, and
  1226.             at the moment there is no way  to  prevent  it.).    You  have a
  1227.             choice (given in a  prompt)  whether  to  use the full pathnames
  1228.             (A:\FOO\FILENAME.EXT) or just names (FILENAME.EXT).
  1229.                For  example,  you  could  print  several  files  by  setting
  1230.             initial-text = A:PRINT.
  1231.                After doing this, it asks you if you want to
  1232.  
  1233.                  [Run], D[elete], B[oth], N[either], or E[dit]
  1234.  
  1235.              R[un]ning (the default) it will  run it (with no arguments) and
  1236.             leave it in the directory.
  1237.              D[eleting] it  will  NOT  run  it;  it's  a way of cancelling a
  1238.             mistake
  1239.              B[oth] will run  it  and  delete  it -- good for one-shot batch
  1240.             jobs
  1241.  
  1242.     -----------
  1243.  
  1244.     4. You  can use backquote sequences in the '  (execute  DOS  command  on
  1245.        current file)  command,  but  it  is  generally  better to use the ^R
  1246.        (insert filename) and ^G (insert path) input-editor commands.
  1247.  
  1248.     5. Among other uses.  Anything I spent so much time  writing  has got to
  1249.        have other uses.
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.     Djinn 4.3 +/- 0.3 manual (p.20)
  1259.  
  1260.  
  1261.              N[either] will leave it on disk without executing it.
  1262.              E[dit] runs the editor on it.    When you are finished, you can
  1263.             [Run] (etc) it.
  1264.                You can run  it  later  with  arguments by pointing to it and
  1265.             using ^S, or without arguments by B.
  1266.                Typical  uses of this are collecting a  group  of  files  and
  1267.             doing several things with them.   For example, the public domain
  1268.             program  ARC  collects  and  compresses  groups  of   files  for
  1269.             archiving  and  distributing.    Djinn  does  not   have  ARCing
  1270.             commands.    If  you  want   to  create  an  archive  file  (say
  1271.             WOMBAT.ARC)  of  the  tagged files, and  if  you  have  the  ARC
  1272.             program, you can create a batch file with
  1273.  
  1274.                    initial text = ARC A WOMBAT.ARC
  1275.                    final text =   (nothing)
  1276.  
  1277.                Then, run and delete this file (option B[oth]).
  1278.  
  1279.     C, ^C, R, ^R names:
  1280.  
  1281.             There  are  some  useful tricks for copying  several  files  and
  1282.             changing  their  names.   The symbol  "*"  refers  to  the  full
  1283.             filename (with extension).  The symbol "<" is just the filename,
  1284.                                           6
  1285.             and ">" is just the extension.  So, you can  copy  DJINN.COM  to
  1286.             E:\<\*, which makes a copy in the directory DJINN.  You can copy
  1287.             files  to  <1.>,  which sticks a "1" at the end of the filename;
  1288.             good for making backup  files,  unless  the filenames have eight
  1289.             letters.
  1290.                Exception:  "*." acts like "<.", ".*"  acts  like  ".>",  and
  1291.             "*.*"  like  "*".  This exception agrees with DOS usage, and you
  1292.             can copy a file to E:*.* to make a copy with  the  same  name on
  1293.             the E: drive and not have to remember this eccentric usage.
  1294.  
  1295.     C, ^C: When you  try  to overwrite an existing file (and UNSAFECOPY=NO),
  1296.             you  have six choices.  "yes" and "no" are clear.  "All" is like
  1297.             saying  "yes"  to  all later overwrites in  this  mass  command.
  1298.             "Quit" stops the mass  copy.   "Rename dest" lets you rename the
  1299.             file you were about to overwrite.  "Give new dest" lets you give
  1300.             a new name to copy to.
  1301.  
  1302.     O: Tell how much space is left on a drive.
  1303.  
  1304.     ^O: Tell how much space is left for programs running under Djinn in your
  1305.             machine.  This also tells how much space Djinn  has  left;  this
  1306.             amount determines how fast copy is.  In some  version,  you  may
  1307.             have some control over how space is allocated.
  1308.  
  1309.     P, ^P: Raw  View File.  These type a file on the screen without changing
  1310.             control characters.  This can be good; if you try to type a file
  1311.  
  1312.     -----------
  1313.  
  1314.     6. Remember those as "left part" for "<" and "right part"  for  ">".  Or
  1315.        don't remember them at all, since it is but a minor convenience.
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.     Djinn 4.3 +/- 0.3 manual (p.21)
  1325.  
  1326.  
  1327.             and see a lot of  ^I's, P will treat them as tabs.  On the other
  1328.             hand, it can be extremely dangerous. Most screens are controlled
  1329.             by escape sequences.  If the file has escape  sequences  in  it,
  1330.             printing them raw  can  really  screw  up your screen -- or even
  1331.             crash your computer.  You can toggle between raw and cooked mode
  1332.             by the "t" option.
  1333.  
  1334.     V,^V,P,^P: View File. This cooks control and meta characters as follows:
  1335.  
  1336.                    Control characters are printed as ^C
  1337.                    Delete (ASCII 127) is             ^?
  1338.                    Meta characters, (ASCII 128+c)    ~c   (so, ASCII
  1339.                                                           129 is ~^A)
  1340.                    TAB, ^I, is not cooked.
  1341.  
  1342.     The full list of options is:
  1343.                x ----- quit; go back to Djinn's top level
  1344.                s ----- skip some number of lines.  This asks for the number.
  1345.                f ----- look for a string.  Asks for the string.  Ignores case.
  1346.                p ----- pattern find.  See below
  1347.                t ----- toggle raw/cooked characters.  Makes V act like P and
  1348.             vice versa
  1349.                r ----- restart this file from the beginning again.
  1350.                g ----- go to a given line.  You *can* move backwards with this.
  1351.                b ----- skip backwards. You tell how many lines
  1352.                v ----- backwards [roughly] one page.
  1353.                m ----- mode change.  Lets you look at the file bytewise. See
  1354.             "$".
  1355.                ? ----- help.  (A bit sketchy)
  1356.                OTHER - go on with the next 20 (or whatever) lines.
  1357.  
  1358.     V,^V,P,^P:  (Finding  strings  and patterns.)  You  may  search  forward
  1359.             during viewing, for either  a  string (F) or pattern (P).  Djinn
  1360.             stops  every 100 lines to ask if you want to continue; if you do
  1361.             not,  it  starts  printing  from  there.   (The   FINDPAUSE  and
  1362.             FINDMESSAGE options control this behavior.   FINDPAUSE =  NO has
  1363.             Djinn  merely  print  a  message,  rather than asking  to  stop.
  1364.             FINDMESSAGE = n   changes  100  to  n.    The patterns for P can
  1365.             include * (which matches any  string of characters) and ? (which
  1366.             matches any single character), like the patterns  for filenames.
  1367.             Normally the pattern find assumes  that the string starts at the
  1368.             beginning  of  the  line; if you want to find it anywhere in the
  1369.             line, start it with a *.
  1370.  
  1371.     V,^V,P,^P:  (Moving  around)   Djinn remembers as much of the file as it
  1372.             can, about seventy lines.  You can move around inside this range
  1373.             without rereading any of the file.  In particular, the V command
  1374.             (back  one  page,  to reread something that has scrolled off the
  1375.             screen) is fast.
  1376.  
  1377.     $: General File View.  MS-DOS used to mark the end of a text  file  by a
  1378.             ^Z  character,  and  many programs still  do  so.    The  V-type
  1379.             commands  stop  at  ^Z's (because Turbo does, not because I want
  1380.             to).   If you have a file that has ^Z's inside it, and you  want
  1381.             to read past them, you can use the $ command.    You can specify
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.     Djinn 4.3 +/- 0.3 manual (p.22)
  1391.  
  1392.  
  1393.             Raw (P-style), and/or Byte (skip ^Z).  If you press  <CR> twice,
  1394.             you have precisely the effect of V (viewing  the  current file).
  1395.             If  you  ask  for  Bytes,  you  will  read past ^Z's.  No,  your
  1396.             computer  hasn't crashed -- Byte mode is  a  *lot*  slower  than
  1397.             normal mode.
  1398.  
  1399.     P,^P:  Djinn can easily get messed up in its line count if the file  has
  1400.             escape sequences, line feeds, form feeds, and such in  it.    Of
  1401.             course, your computer can get messed up by escape sequences (ESC
  1402.             c can crash a Rainbow).  V and ^V are safe.
  1403.  
  1404.     ^:  Load and Execute. This acts like the  S  (system  command)  command,
  1405.             except that it tries not to load COMMAND.COM.  This  should have
  1406.             consequences:
  1407.  
  1408.                    1.  It loads somewhat faster, expecially if you type
  1409.                        the .COM or  .EXE  extension.    (If  you don't,
  1410.                        Djinn has to make sure that it exists).
  1411.  
  1412.                    2.  It takes about 16K less memory
  1413.  
  1414.                    3.  It can  execute files in any directory.  You can
  1415.                        "^"-execute  A:\ARC\ARC,  even if  you  couldn't
  1416.                        type this directly to DOS.
  1417.  
  1418.             Unfortunately,    it    has    behaved   somewhat   erratically.
  1419.             Occasionally after using it, various programs can't  find files.
  1420.             I don't know why.
  1421.  
  1422.     ): Send Escape  Sequence.  You  type  a string; Djinn prints that string
  1423.             preceded by an ESCAPE. Do not use this unless you know  what you
  1424.             are  doing.  This is especially useful  on  the  Rainbow,  which
  1425.             knows a lot of escape sequences.    For example, ESC = turns the
  1426.             numeric keys into function keys, and ESC > turns them back.  ESC
  1427.             c crashes the Rainbow.
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.     Djinn 4.3 +/- 0.3 manual (p.23)
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.                                 List of Commands
  1464.  
  1465.  
  1466.     MOVING THE CURSOR
  1467.       Arrow keys (IBM and Rainbow)
  1468.           I, ^I
  1469.       J,^J     K,^K
  1470.          <sp>,^M
  1471.       F: Find File by typing part of the name.
  1472.       ^F: Find a file matching the last pattern for F.
  1473.       ,: Go to upper left hand corner of the screen.
  1474.  
  1475.     CHANGING DIRECTORIES
  1476.       G: Go to drive and path.  (May be used at [smite thou a key])
  1477.       H: Go to drive            (May be used at [smite thou a key])
  1478.       L: Descend into directory. ½Find╗
  1479.       .: Ascend directory
  1480.       W: Where is file; looks for a filename under the current directory
  1481.       ^W: Where is file; looks for a filename under some directory
  1482.       [: Remember this directory
  1483.       ]: Go to remembered directory (and save current, so you can get back)
  1484.  
  1485.     FILE MANAGEMENT
  1486.       C: Copy file
  1487.       ^C: Mass copy
  1488.       D: Delete File          ½Remove╗
  1489.       ^D: Mass Delete
  1490.       R: Rename/Move (on drive) file
  1491.       ^R: Mass Rename/Move
  1492.       V: View File            ½Next Screen╗
  1493.       ^V: Remote View File
  1494.       P: Raw View File
  1495.       ^P: Remote Raw View File
  1496.       Y: Copy File to Drive
  1497.       ^Y: Mass Copy to Drive
  1498.       \: Make Directory
  1499.  
  1500.     TAGGING FILES
  1501.       T: Tag this file   ½Select╗
  1502.       ^T: Tag pattern
  1503.       U: Untag this file ½Prev Screen╗
  1504.       ^U: Untag pattern
  1505.       ^H: Retag files
  1506.  
  1507.     FILE CREATION AND MODIFICATION
  1508.       E: Edit current file  ½Insert Here╗
  1509.       ^E: Edit any file.
  1510.       M: Make file.
  1511.       ^B: Create .BAT file
  1512.  
  1513.     RUNNING PROGRAMS
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.     Djinn 4.3 +/- 0.3 manual (p.24)
  1523.  
  1524.  
  1525.       0-9: Run a DOS program on current file
  1526.       B: Execute the current file as a command without arguments  ½Do╗
  1527.       ': Execute a DOS command on the current file
  1528.       ": Execute a DOS command, '-style, on each tagged file
  1529.       S: DOS System command. (except for SET)
  1530.       ^S: Run the current file as a system command, asking for arguments
  1531.       ^G: Push to inferior DOS shell.
  1532.       ^: Load and Execute Program.  (? unsafe ?)
  1533.  
  1534.     MISC
  1535.       N: Calculate one thing
  1536.       ^N: Calculate many things
  1537.       X: Exit
  1538.       ^X: Reread DJINN.CNF and [possibly] change switches
  1539.       -: Redraw Screen
  1540.       =: Information about current file
  1541.       ~: Set File Attributes
  1542.       _: Mass Set File Attributes
  1543.       {,}: Manipulate Large Directory (badly)
  1544.       ?: Help
  1545.       /: Restrict Files
  1546.       ;: Look at new disk in current drive.
  1547.       O: Tell how much space is left on a drive
  1548.       ^O: Tell how much memory is left on your computer
  1549.       ): Send Escape Sequence
  1550.       &: Status Report
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.     Djinn 4.3 +/- 0.3 manual (p.25)
  1589.  
  1590.  
  1591.       ^Z: Define Macro
  1592.  
  1593.  
  1594.     3.14  Djinn's Input Editor
  1595.  
  1596.  
  1597.      +------------------+-----------------+-----------------+
  1598.      |   Find         ^K|  Insert Here  ^A|      Remove   ^E|
  1599.      |Del to End of Line| Move to Start   |   Move to End   |
  1600.      +------------------+-----------------+-----------------+
  1601.      |   Select       ^D|  Prev Screen  ^W|   Next Screen ^Y|
  1602.      |Delete Character  |   Left Word     |    Right Word   |
  1603.      +------------------+-----------------+-----------------+
  1604.                         |       ^       ^P|
  1605.                         |    Up History   |
  1606.      +------------------+-----------------+-----------------+
  1607.      |        <-      ^B|       V       ^N|       ->      ^F|
  1608.      | Left Character   |   Down History  | Right Character |
  1609.      +------------------+-----------------+-----------------+
  1610.  
  1611.      ½BS╗ (½F12╗), ^H           : Delete Last Word
  1612.      ½Addtnl Options╗,^V        : Delete Next Word
  1613.      ½Exit╗,^X                  : Delete Entire Line
  1614.      ½Cancel╗,^Z                : Delete Entire Line and Cancel Command
  1615.      ½Tab╗,^I                   : Exchange Last Two Characters (fix typso)
  1616.      ^Q                         : Insert control character.
  1617.      ^R                         : Insert current file name
  1618.      ^G                         : Insert current path
  1619.      ½Do╗,^J                    : Undelete
  1620.  
  1621.  
  1622.          ½Return╗  accepts what you have typed, sending it  to  Djinn.    It
  1623.     works even in the middle of a line.
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.                                  Table of Contents
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.          Chapter 1  Introduction                                      2
  1667.             1.1  Requirements  . . . . . . . . . . . . . . . . . . .  2
  1668.             1.2  Starting Djinn the First Time . . . . . . . . . . .  2
  1669.  
  1670.          Chapter 2  Using Djinn                                       4
  1671.             2.1  The Screen  . . . . . . . . . . . . . . . . . . . .  4
  1672.             2.2  Aborting Things . . . . . . . . . . . . . . . . . .  5
  1673.             2.3  The Input Editor  . . . . . . . . . . . . . . . . .  5
  1674.             2.4  The Most Useful Commands  . . . . . . . . . . . . .  5
  1675.                2.4.1  Moving the Cursor  . . . . . . . . . . . . . .  6
  1676.                2.4.2  Changing Directories . . . . . . . . . . . . .  6
  1677.                2.4.3  File Management  . . . . . . . . . . . . . . .  7
  1678.                2.4.4  Tagging Files  . . . . . . . . . . . . . . . .  8
  1679.                2.4.5  File Creation and Modification . . . . . . . .  9
  1680.                2.4.6  Running Programs . . . . . . . . . . . . . . .  9
  1681.                2.4.7  Misc . . . . . . . . . . . . . . . . . . . . . 10
  1682.  
  1683.          Chapter 3  Unusual Cases                                    11
  1684.             3.1  Handling Huge Directories . . . . . . . . . . . . . 11
  1685.             3.2  The Vaguely Scientific Calculator . . . . . . . . . 11
  1686.             3.3  Hints . . . . . . . . . . . . . . . . . . . . . . . 13
  1687.             3.4  Doing Unusual Things with Djinn . . . . . . . . . . 13
  1688.             3.5  Things you can do with DJINN.CNF  . . . . . . . . . 13
  1689.             3.6  Bugs and Unpleasant Features  . . . . . . . . . . . 15
  1690.             3.7  Credits . . . . . . . . . . . . . . . . . . . . . . 15
  1691.             3.8  Conditions  . . . . . . . . . . . . . . . . . . . . 15
  1692.             3.9  Non-Warranty  . . . . . . . . . . . . . . . . . . . 16
  1693.             3.10  Plea for Money . . . . . . . . . . . . . . . . . . 16
  1694.             3.11  About the Djinn  . . . . . . . . . . . . . . . . . 16
  1695.             3.12  Macros . . . . . . . . . . . . . . . . . . . . . . 18
  1696.             3.13  Hairy Details of Commands  . . . . . . . . . . . . 19
  1697.             3.14  Djinn's Input Editor . . . . . . . . . . . . . . . 24
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.                                         i
  1714.  
  1715.  
  1716.  
  1717.